package net.zoneland.knowledge.model;

import java.util.Date;
import java.util.Optional;

/**
 * 字典数据.
 * @author zy
 */
public class DictItem {
    /**
     * .
     */
    private String id;
    /**
     * .
     */
    private String dictValue;
    /**
     * .
     */
    private String dictName;
    /**
     * .
     */
    private String parentId;
    /**
     * .
     */
    private Integer orders;
    /**
     * .
     */
    private String description;
    /**
     * .
     */
    private Date createtime;
    /**
     * 获取参数值.
     * @return 参数值
     */
    public String getId() {
        return id;
    }

    /**
     * 设置 参数.
     * @param id 参数值
     */
    public void setId(final String id) {
        this.id = id == null ? null : id.trim();
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    public String getDictValue() {
        return dictValue;
    }
    /**
     * 设置 参数.
     * @param dictValue 参数值
     */
    public void setDictValue(final String dictValue) {
        this.dictValue = dictValue == null ? null : dictValue.trim();
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    public String getDictName() {
        return dictName;
    }
    /**
     * 设置 参数.
     * @param dictName 参数值
     */
    public void setDictName(final String dictName) {
        this.dictName = dictName == null ? null : dictName.trim();
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    public String getParentId() {
        return parentId;
    }
    /**
     * 设置 参数.
     * @param parentId 参数值
     */
    public void setParentId(final String parentId) {
        this.parentId = parentId == null ? null : parentId.trim();
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    public Integer getOrders() {
        return orders;
    }
    /**
     * 设置 参数.
     * @param orders 参数值
     */
    public void setOrders(final Integer orders) {
        this.orders = orders;
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    public String getDescription() {
        return description;
    }
    /**
     * 设置 参数.
     * @param description 参数值
     */
    public void setDescription(final String description) {
        this.description = description == null ? null : description.trim();
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    public Date getCreatetime() {
        return Optional.ofNullable(createtime).map(it -> (Date) it.clone()).orElse(null);
    }
    /**
     * 设置 参数.
     * @param createtime 参数值
     */
    public void setCreatetime(final Date createtime) {
        this.createtime = Optional.ofNullable(createtime).map(it -> (Date) it.clone()).orElse(null);
    }
    /**
     * 获取参数值.
     * @return 参数值
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("DictItem{");
        sb.append("id='").append(id).append('\'');
        sb.append(", dictValue='").append(dictValue).append('\'');
        sb.append(", dictName='").append(dictName).append('\'');
        sb.append(", parentId='").append(parentId).append('\'');
        sb.append(", orders=").append(orders);
        sb.append(", description='").append(description).append('\'');
        sb.append(", createtime=").append(createtime);
        sb.append('}');
        return sb.toString();
    }
}
